home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -in_the_mag- / reader_requests / wild / include / inline / ppct.h < prev    next >
C/C++ Source or Header  |  2000-02-23  |  1KB  |  50 lines

  1. #ifndef _INLINE_PPCT_H
  2. #define _INLINE_PPCT_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef PPCT_BASE_NAME
  9. #define PPCT_BASE_NAME PPctExtensionBase
  10. #endif
  11.  
  12. #define MakePPCT(tags) \
  13.     LP1(0x1E, struct ppct *, MakePPCT, struct TagItem *, tags, a0, \
  14.     , PPCT_BASE_NAME)
  15.  
  16. #ifndef NO_INLINE_STDARG
  17. #define MakePPCTTags(tags...) \
  18.     ({ULONG _tags[] = {tags}; MakePPCT((struct TagItem *) _tags);})
  19. #endif
  20.  
  21. #define FreePPCT(ppct) \
  22.     LP1NR(0x24, FreePPCT, struct ppct *, ppct, a0, \
  23.     , PPCT_BASE_NAME)
  24.  
  25. #define FallPPCT(ppct, color) \
  26.     LP2(0x2A, ULONG, FallPPCT, struct ppct *, ppct, a0, ULONG, color, d0, \
  27.     , PPCT_BASE_NAME)
  28.  
  29. #define ImagePPCT(ppct, trueimage, chunkyimage, numofpixels) \
  30.     LP4NR(0x30, ImagePPCT, struct ppct *, ppct, a0, ULONG *, trueimage, a1, UBYTE *, chunkyimage, a2, ULONG, numofpixels, d0, \
  31.     , PPCT_BASE_NAME)
  32.  
  33. #define PaletteToRGB32(palette, numofcols, firstcol) \
  34.     LP3(0x36, ULONG *, PaletteToRGB32, ULONG *, palette, a0, ULONG, numofcols, d0, ULONG, firstcol, d1, \
  35.     , PPCT_BASE_NAME)
  36.  
  37. #define FreeRGB32(rgb32) \
  38.     LP1NR(0x3C, FreeRGB32, ULONG *, rgb32, a0, \
  39.     , PPCT_BASE_NAME)
  40.  
  41. #define RGB32ToPalette(rgb32) \
  42.     LP1(0x42, ULONG *, RGB32ToPalette, ULONG *, rgb32, a0, \
  43.     , PPCT_BASE_NAME)
  44.  
  45. #define FreePalette(palette) \
  46.     LP1NR(0x48, FreePalette, ULONG *, palette, a0, \
  47.     , PPCT_BASE_NAME)
  48.  
  49. #endif /*  _INLINE_PPCT_H  */
  50.